package com.hibase.core.excel.annotation;

import com.hibase.core.excel.data.DefaultAnalysisProcessor;
import com.hibase.core.excel.data.ReadAnalysisProcessor;
import io.swagger.annotations.ApiModelProperty;

import java.lang.annotation.*;

/**
 * Excel导入参数注解类
 *
 * @author <a href="mailto:xiongliyi@hichain.com">Ian Xiong</a>
 * @since 1.4.35-V2
 */

@Target({ ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface HibaseRequestExcel {

    /**
     * 文件名称
     * <p>
     * 默认值file
     *
     * @return 返回文件名称
     */
    @ApiModelProperty(value = "文件名称", required = true)
    String fileName() default "file";

    /**
     * 模板编码不能为空
     * <p>
     * 默认true
     *
     * @return
     */
    @ApiModelProperty(hidden = true)
    boolean requireTemplateCode() default false;


    /**
     * 是否跳过空行
     * <p>
     * 默认true
     *
     * @return 默认跳过
     */
    @ApiModelProperty(value = "是否跳过空行")
    boolean ignoreEmptyRow() default true;


    /**
     * head行号
     * <p>默认值1
     *
     * @return
     */
    @ApiModelProperty(value = "head行号")
    int headRowNumber() default 1;

    /**
     * Excel数据读取分析处理器
     *
     * @return 返回读取分析处理器
     */
    @ApiModelProperty(hidden = true)
    Class<? extends ReadAnalysisProcessor<?>> readAnalysisProcessor() default DefaultAnalysisProcessor.class;

}
